﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Biblioteca.Utils;
using SERIX.Classes;
using System.Data;

namespace SERIX
{
    public partial class IndicadoresManut : Seguranca
    {
        string _operacao;
        string _idt;

        protected void Page_Load(object sender, EventArgs e)
        {
            base.OnLoad(e);
            _operacao = Request["OP"];
            string login = UsuAut.Login;
            if (!String.IsNullOrEmpty(Request["idt"]))
            {
                _idt = Server.UrlDecode(Criptografia.Descriptografar(Request["idt"]));
            }
            if (!Page.IsPostBack)
            {
                switch (_operacao)
                {
                    case "R":
                        {
                            lblTitulo.Text = "Detalhes do Indicador";
                            Cancelar_Button.Visible = false;
                            DataTable dte = CIndicadores.PesquisaporCodigo(_idt, login);
                            CarregaDados(dte);                            
                            DesabilitaControles();
                            break;
                        }
                    case "U":
                        {
                            lblTitulo.Text = "Alteração do indicador";
                            DataTable dte = CIndicadores.PesquisaporCodigo(_idt, login);
                            CarregaDados(dte);                            
                            break;

                        }
                    case "I":
                        {
                            lblTitulo.Text = "Inserção do indicador";
                            break;
                        }
                    case "D":
                        {
                            lblTitulo.Text = "Exclusão do indocador";
                            DataTable dte = CIndicadores.PesquisaporCodigo(_idt, login);
                            CarregaDados(dte);                            
                            DesabilitaControles();
                            break;
                        }
                    default: break;
                }
            }
        }

        private void CarregaDados(DataTable dte)
        {
            if (dte != null && dte.Rows.Count > 0)
            {
                txtDescricao.Text = dte.Rows[0]["DSC_IND"].ToString();
                if (dte.Rows[0]["STATUS_IND"].ToString() == "1")
                    cbx_Status.Checked = true;
                else
                    cbx_Status.Checked = false;
            }
        }

        protected void DesabilitaControles()
        {
            txtDescricao.ReadOnly = true;
            txtDescricao.BorderStyle = System.Web.UI.WebControls.BorderStyle.None;
            txtDescricao.BackColor = System.Drawing.Color.WhiteSmoke;
        }

        protected void Ok_Button_Click(object sender, EventArgs e)
        {
            try
            {
                string login = UsuAut.Login;
                //CClassesIndicadores dao = SetDados(login);
                string STATUS_IND = cbx_Status.Checked? "1" : "0";
                switch (_operacao)
                {
                    case "I":
                        {                            
                            CIndicadores.Inserir(login, ddlClasse.SelectedValue, txtDescricao.Text, STATUS_IND);
                            //dao.Inserir(login);
                            break;
                        }
                    case "U":
                        {
                            CIndicadores.Alterar(login, ddlClasse.SelectedValue, _idt, txtDescricao.Text, STATUS_IND);
                            //dao.Alterar(login);
                            break;
                        }
                    case "D":
                        {
                            CIndicadores.Excluir(login, _idt);
                            //dao.Excluir(login);
                            break;
                        }
                    default: break;
                }
                Response.Redirect("Indicadores.aspx");
            }
            catch (Exception ex)
            {
                lblErro.Text = "*Erro: " + ex.Message;
                lblErro.Visible = true;
            }

        }

        protected void Cancelar_Button_Click(object sender, EventArgs e)
        {
            Response.Redirect("Indicadores.aspx");
        }
    }
}
